%% 设置PCA人脸识别系统环境
% 此脚本帮助确保所有必要的文件都存在并设置正确的路径

% 清理工作区
clear;
clc;

disp('正在设置PCA人脸识别系统环境...');

% 获取当前目录
currentDir = pwd;
disp(['当前工作目录: ', currentDir]);

% 检查必要文件是否存在
requiredFiles = {'FaceRecognitionApp.m', 'trainPCA.m', 'startFaceRecognition.m'};
missingFiles = {};

for i = 1:length(requiredFiles)
    if ~exist(fullfile(currentDir, requiredFiles{i}), 'file')
        missingFiles{end+1} = requiredFiles{i};
    end
end

if ~isempty(missingFiles)
    disp('警告: 以下必要文件未找到:');
    for i = 1:length(missingFiles)
        disp(['  - ', missingFiles{i}]);
    end
    disp('请确保所有必要文件都在当前目录下。');
    return;
else
    disp('所有必要文件已找到。');
end

% 确保当前目录在MATLAB路径中
if ~contains(path, currentDir)
    addpath(currentDir);
    disp('已将当前目录添加到MATLAB路径。');
else
    disp('当前目录已在MATLAB路径中。');
end

% 检查训练和测试数据目录
trainDir = 'D:\文档资料\OneDrive\桌面\人脸配准(眉毛特征点)\train';
testDir = 'D:\文档资料\OneDrive\桌面\人脸配准眉毛特征点\test';

if ~exist(trainDir, 'dir')
    disp(['警告: 未找到默认训练集目录: ', trainDir]);
    disp('运行程序时将需要手动选择训练集目录。');
else
    disp(['已找到训练集目录: ', trainDir]);
    % 检查训练目录中是否有图像文件
    imageFiles = dir(fullfile(trainDir, '*.jpg'));
    if isempty(imageFiles)
        disp('警告: 训练目录中未找到JPG图像文件。');
    else
        disp(['训练目录中找到 ', num2str(length(imageFiles)), ' 个JPG图像文件。']);
    end
end

if ~exist(testDir, 'dir')
    disp(['警告: 未找到默认测试集目录: ', testDir]);
    disp('运行程序时将需要手动选择测试图像。');
else
    disp(['已找到测试集目录: ', testDir]);
end

disp('环境设置完成。现在可以运行 startFaceRecognition.m 启动应用程序。');
disp('-------------------------------------------');
disp('要启动应用程序，请在命令窗口中输入:');
disp('  >> startFaceRecognition');
disp('-------------------------------------------'); 